package com.world.rickcloudendpoint.common;

/**
 * @description: 响应码枚举，参考HTTP状态码的语义
 * @author: jlsong
 * @date: 2021/12/30 22:36:41
 * @version: 1.0
 */
public enum ResultCode {

    SUCCESS(200, "操作成功"),//成功
    FAIL(400, "操作失败"),//失败
    UNAUTHORIZED(401, "无权访问"),//未认证（签名错误）
    NOT_FOUND(404, "接口不存在"),//接口不存在
    INTERNAL_SERVER_ERROR(500, "服务器错误"),//服务器内部错误

//    /**操作成功**/
//    RC100(100,"操作成功"),
//    /**操作失败**/
//    RC999(999,"操作失败"),
//    /**服务限流**/
//    RC200(200,"服务开启限流保护,请稍后再试!"),
//    /**服务降级**/
//    RC201(201,"服务开启降级保护,请稍后再试!"),
//    /**热点参数限流**/
//    RC202(202,"热点参数限流,请稍后再试!"),
//    /**系统规则不满足**/
//    RC203(203,"系统规则不满足要求,请稍后再试!"),
//    /**授权规则不通过**/
//    RC204(204,"授权规则不通过,请稍后再试!"),
//    /**access_denied**/
//    RC403(403,"无访问权限,请联系管理员授予权限"),
//    /**access_denied**/
//    RC401(401,"匿名用户访问无权限资源时的异常"),
//    /**服务异常**/
//    RC500(500,"系统异常，请稍后重试"),

    INVALID_TOKEN(2001,"访问令牌不合法"),
    ACCESS_DENIED(2003,"没有权限访问该资源"),
    CLIENT_AUTHENTICATION_FAILED(1001,"客户端认证失败"),
    USERNAME_OR_PASSWORD_ERROR(1002,"用户名或密码错误"),
    UNSUPPORTED_GRANT_TYPE(1003, "不支持的认证模式");


    private final int code;
    private String msg;

    ResultCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int code() {
        return code;
    }

    public String msg(){
        return msg;
    }
}
